Method and device for estimating a channel propagation

ABSTRACT

Method and device for estimating a propagation channel The invention relates to a method of estimating a propagation channel, between a source transmitting data and a receiver, using at least one learning sequence which comprises symbols referred to as “pilot symbols” and which is known to the receiver, so as to decode a data signal (digital signal), the signals being sent in successive frames, each frame being partitioned into a specified number of time slots.  
     It comprises at least the following steps:  
     a) choosing a search window, estimating the complex amplitude and the energy of each predominant path k situated in the search window over the duration of each of the time slots and demodulating the data bits (useful bits),  
     b) updating the energy of each possible path of the search window every K slots,  
     c) selecting every K*L slots, the energy paths k which are predominant.  
     d)  
      Application to the demodulation of a signal of CDMA type, or of UMTS type.

[0001] The present invention relates to a method and a device for estimating the parameters of a propagation channel, so as to decode digital signals, by using a learning sequence or reference sequence known to the receiver.

[0002] The signals are sent in successive frames, each frame being partitioned into a specified number of time slots.

[0003] The invention applies for example for demodulating a broadband or spread spectrum digital signal.

[0004] The invention finds its application in the field of cellular networks operating on the “CDMA” principle (the abbreviation standing for Code Division Multiple Access), such as the networks based on the IS95 standard which has been in service for several years in the USA, or else those based on the UMTS standard (the abbreviation standing for Universal Mobile Telecommunication System) which ought to be operational in Europe at least by the year 2002. It applies in particular within the framework of mobile radio communications.

[0005] The method according to the invention can without departing from the scope of the invention be applied to propagation channels of any nature.

[0006] In a CDMA system all the users share the same band and use waveforms which are spectrally spread with the aid of codes, each user having his own code.

[0007] By way of indication, a description of such a system can be found in one of the following references:

[0008] [2] W.C.Y. LEE, “Overview of cellular CDMA”, IEEE Transactions on vehicular technology, vol. 40, No. 2, May 1991 or

[0009] [3] R. L. PICKHOLTZ, D. L. SHILLING and L. B. MILSTEIN, “Theory of spread-spectrum communications—A tutorial”, IEEE Transactions on communications, vol. com-30, No. 5, pp 855-884, May 1982.

[0010] The principle of direct sequence spread spectrum is to chop a useful bit of duration T into N_(G) pulses or chips of duration T′=T/N_(G). The band W′ of the resulting signal is thus N_(G) times larger than that of the useful signal W, thereby theoretically allowing N_(G) times as large a modulation rate. The pulse sequences or codes, are generally pseudo-random sequences (PN sequences), designed to have particular autocorrelation and cross-correlation properties (ideally, the autocorrelation is pulse-like and the correlations between codes are zero). Such sequences are described for example in the two works: [1]: J. G. PROAKIS, “Digital communications”, McGraw Hill and the aforesaid reference [2].

[0011] On reception, each user (or transmission channel) is demodulated by an operation of correlation with its spreading code, known to the receiver. This processing is a matched filtering which imparts a reception gain equal to the ratio of the spread band to the initial useful band represented in FIG. 1.

[0012] The CDMA concept allows not only multiple access (large combinatorial offered by pseudo-random codes, for allocating a different code to each user) but also increased robustness to scrambling (intentional or otherwise) and to poor propagation conditions (multipaths, fading, etc).

[0013] At present, it is known to use a spectrally spread waveform in order to effectively counter the phenomenon of multipaths (this phenomenon occurs for various propagation channels and in particular for the mobile radio channel) and even to profit therefrom in order to combat fading (random variations in the amplitude and phase of the signal).

[0014] Specifically, if T_(m) is the temporal spreading of the channel and if W is the bandwidth of the signal transmitted, then it is theoretically possible to isolate in reception T_(m)W components (a bandwidth W makes it possible in reception, by correlation, to isolate paths with a temporal resolution equal to 1/W), which correspond physically to the various propagation paths. All or some of these components are independent and it is possible to recombine them in such a way as to increase or maximize the signal-to-noise ratio. A diversity effect is thus obtained, exploiting the statistical independence of the various propagation paths making up the signal received.

[0015] This diversity technique was initially proposed by Price and Green in 1958 who gave the name RAKE receiver to the optimal processing (the receiver isolates each path and then undertakes a recombination, hence the analogy with a garden rake). This processing, which coherently sums all the paths, consists simply of a filtering matched to the signal received, that is to say matched to the channel (it may be shown that this processing is optimal provided one considers the reception of a single user or code, all the other users constituting noise possessing the property of being white and gaussian).

[0016] In this regard, reference may be made for example to the work “Digital communications” published by McGraw Hill and authored by J. G. Proakis.

[0017] The implementation of the RAKE receiver therefore assumes that the impulse response of the channel, that is to say the complex amplitudes of all the paths, is known. In practice, it is possible to employ an estimate of these amplitudes which takes account of the various characteristics of the propagation channel (temporal spreading, fading) and in particular of its various scales of fluctuation (fast fading and slow fading).

[0018] On the mobile radio channel, two scales of variation of the propagation characteristics are generally distinguished, described for example in the work authored by D. Parsons and published by Pentech Press in 1992 under the title “The mobile radio propagation channel”.

[0019] The first scale corresponds to fast fading (or Rayleigh fading), which induces a variation in the amplitudes and phases of the paths after a time of the order of the channel coherence time (the inverse of the Doppler band of the channel). In the mobile radio context, this decorrelation time (time interval for which two realizations of the complex amplitude of a path are decorrelated) corresponds to an advance of the mobile of the order of half the wavelength of the carrier frequency reference [4] On this timescale, the delay times of the paths are constant.

[0020] The second scale of fluctuation corresponds to slow fading (or long-term fading), due to the masking effects and to the changes of environment. This phenomenon induces on the one hand a modification of the average power of the paths, and on the other hand a significant alteration in the delay times of the paths; some paths are also liable to appear and others to disappear.

[0021] The decorrelation time (or the decorrelation distance) associated with slow fading depends on the channel, that is to say on the type of environment in which the mobile is deploying. In practice, this decorrelation time is markedly greater (at least an order of magnitude) than that associated with fast fading. For example, the ETSI within the framework of UMTS, indicates a slow fading decorrelation distance, for an urban environment, of around 20 meters; this leads to a ratio of around 300 (20/(λ/2) with λ=c/f and f=2 10⁹ Hz) between the long-term and short-term decorrelation times.

[0022] The subject of the invention relates to a method allowing dynamic estimation of the propagation channel, taking account of the various fluctuations alluded to above, with the aim of demodulating a digital signal.

[0023] The method is applied in particular in the following cases:

[0024] Single-user reception, that is to say when interested in the demodulation of just one user, all the others being regarded as noise (no joint detection or multiuser detection);

[0025] Transmission of a reference sequence, in addition to the useful data, which is dedicated to the estimation of the propagation channel;

[0026] The propagation channel is fluctuating;

[0027] The temporal spreading of the channel is less than the duration of a useful bit. Thus, the inter-symbol interference can be neglected and the implementation of an equalizer downstream of the RAKE receiver is not necessary. Each bit or useful symbol is demodulated independently of the other bits or useful symbols;

[0028] The channel can be regarded as constant over the duration of a bit or useful symbol (T_(coherence)>>T, where T_(coherence) is the channel coherence time).

[0029] The word “symbol” designates a unit of information, the expression “learning symbol” or “pilot” corresponds to a unit of information of the known signal.

[0030] The invention relates to a method of estimating a propagation channel, between a source transmitting data and a receiver, using at least one learning sequence which comprises symbols referred to as “pilot symbols” said sequence being known to the receiver, so as to decode a data signal (digital signal), the signals being sent in successive frames, each frame being partitioned into a specified number of time slots It is characterized in that it comprises at least the following steps:

[0031] a) choosing a search window, estimating the complex amplitude and the energy of each predominant path k situated in the search window over the duration of each of the time slots and demodulating the data bits (useful bits),

[0032] b) updating the energy of each possible path of the search window every K slots, and

[0033] c) selecting every K*L slots, the energy paths k which are predominant.

[0034] The invention also relates to a device making it possible to estimate a propagation channel between a means of transmission and a means of reception so as to demodulate the useful data received. It is characterized in that it comprises at least one microprocessor or device suitable for implementing the method according to the invention, the signal possibly being a spread signal and possibly being demodulated according to the RAKE principle.

[0035] The device and the method according to the invention apply for demodulating a spread band signal of the CDMA type, such as a signal of the UMTS type.

[0036] The method according to the invention offers the advantage in particular of affording “in real time” one or more estimated parameters of a propagation channel, of updating these parameters so as to improve the demodulation of the signals received by a receiver operating on the RAKE principle. The improvement consists in particular in circumventing the variations in the channel parameters such as the temporal spreading, the variation in amplitude and in phase of a path.

[0037] The invention will be better understood on reading the description which follows by way of wholly non-limiting illustration of an example relating to the estimation of a digital signal propagation channel of the UMTS type where:

[0038]FIG. 1 represents a spread spectrum diagram,

[0039]FIG. 2 diagrammatically shows a waveform for the uplink from a transmitter to a receiver,

[0040]FIG. 3 diagrammatically shows a schematic of transmission-reception of a UMTS wave according to the invention,

[0041]FIG. 4 diagrammatically shows periods of implementation of the three steps of the method according to the invention on the frame of a signal,

[0042]FIG. 5 is an exemplary flowchart of an estimation of a propagation channel implemented in the mode of invention more especially described hereinbelow, and

[0043] FIGS. 6 to 9 detail the steps of FIG. 5 in the form of flowcharts.

[0044] Before setting out the various steps of the method according to the invention, the aim of the paragraph below is to enable the reader to grasp the principles of the RAKE receiver used in the example given by way of wholly nonlimiting illustration.

[0045] Let us consider the transmission of a BPSK modulated signal (the abbreviation standing for Binary Phase Shift Keying) at the rate T_(s) (the extension to other phase modulations poses no problem: the structure of the receiver is identical, only the downstream decision procedure is modified) and spread by direct sequence with a gain N=T_(s)/T_(c) where T_(c) is the chip duration. The signal transmitted is therefore of the form (baseband):

s(t)={square root}{square root over (P _(s))}d(t)c(t)

[0046] where P_(s) is the signal power, and d(t) the sequence of useful bits, ${d(t)} = {\sum\limits_{k = {- \infty}}^{+ \infty}{d_{k}{g_{T_{s}}\left( {t - {kT}_{s}} \right)}}}$

[0047] d_(k)=±1, equiprobably,

[0048] g_(Ts) is the pulse used to convey the information, assumed to be rectangular here for the sake of simplicity: $\left\{ \begin{matrix} {\quad {{g_{T_{s}}(t)} = {{1\quad {if}\quad 0} \leq t \leq T_{s}}}} \\ {\quad {{g_{T_{s}}(t)} = {0\quad {otherwise}}}} \end{matrix}\quad \right.$

[0049] c(t) is the spreading code which ideally has an impulse autocorrelation function (that is to say the correlation between two versions of the code shifted by any non zero time equals 0), ${c(t)} = {\sum\limits_{k = {- \infty}}^{+ \infty}{c_{k}{g_{T_{c}}\left( {t - {kT}_{c}} \right)}}}$

[0050] with Ck=±1

[0051] If the impulse response of the channel has the expression: ${h(t)} = {\sum\limits_{k = 1}^{N_{t}}{a_{k}^{{j\phi}_{k}}{\delta \left( {t - \tau_{k}} \right)}}}$

[0052] that is to say the propagation channel consists of N_(t) paths, with complex amplitudes a_(k) e^(jφk) and with propagation times τ_(k),

with ∀i≠j|τ _(i)−τ_(j) |≧T _(c)

[0053] (stated otherwise all the paths are discernable) then the (complex baseband) signal received has the expression: $\begin{matrix} {{r(t)} = {{\sum\limits_{k = 1}^{N_{t}}{\sqrt{P_{s}}a_{k}^{{j\phi}_{k}}{d\left( {t - \tau_{k}} \right)}{c\left( {t - \tau_{k}} \right)}}} + {n(t)}}} & ({E1}) \end{matrix}$

[0054] where n(t) represents the thermal noise, assumed to be complex gaussian centered, temporally white and decorrelated from the useful signal, with spectral density N₀.

[0055] The principle of the RAKE is to isolate the contributions of each path and then to recombine them under phase coherence so as to optimize the signal-to-noise ratio.

[0056] In all that follows, it will be assumed that the inter-symbol interference is negligible, stated otherwise that the duration of a symbol is large compared with the temporal spreading of the channel. This assumption is often satisfied in practice and it is adopted, explicitly or implicitly, by most authors. The RAKE receiver will therefore be implemented independently on each symbol d_(k).

[0057] It is assumed moreover that the channel is constant for the duration of a useful symbol (Δt_(c)>>T_(s), Δt_(c) being the channel coherence time).

[0058] The contribution of a path is obtained by correlating the signal received with the spreading code shifted by the delay of the relevant path, assumed known.

[0059] Thus, the contribution of the path with delay τ₁, calculated with regard to the symbol of index k, is given by $\begin{matrix} {{r_{i}(k)} = {\frac{1}{T_{s}}{\int_{(T_{s})}{{s(t)}{c\left( {t - \tau_{i}} \right)}{t}}}}} & ({E2}) \end{matrix}$

[0060] (for the sake of simplicity, it is assumed that the samples of the signal are received at the chip rate):

[0061] Expanding (E2) with the aid of (E1) leads to three terms, the first constituting the useful part and the other two constituting the nuisance part: $\begin{matrix} {{r_{i}(k)} = \quad {{\frac{1}{T_{s}}{\int_{(T_{s})}{\sqrt{P_{s}}a_{i}^{{j\phi}_{i}}{\left( {t - \tau_{i}} \right)}{c\left( {t - \tau_{i}} \right)}^{2}{t}}}} +}} \\ {\quad {{\frac{1}{T_{s}}{\sum\limits_{\underset{j \neq i}{j = 1}}^{N_{t}}{\sqrt{P_{s}}a_{j}^{{j\phi}_{j}}d_{k}{\int_{(T_{s})}{{c\left( {t - \tau_{i}} \right)}{c\left( {t - \tau_{j}} \right)}{t}}}}}} +}} \\ {\quad {\frac{1}{T_{s}}{\int_{(T_{s})}{{n(t)}{c\left( {t - \tau_{i}} \right)}{t}}}}} \end{matrix}$

[0062] The spreading code is designed in such a way that two versions shifted by a time greater than the chip duration are approximately decorrelated (the inter-path interference is thus minimized): $\begin{matrix} {{\frac{1}{T_{s}}{\int_{(T_{s})}{{c\left( {t - \tau_{i}} \right)}{c\left( {t - \tau_{j}} \right)}{t}}}} \approx \frac{1}{N}{1\quad {for}\quad {{\tau_{i} - \tau_{j}}}} \geq T_{c}} & \left( P_{1} \right) \end{matrix}$

[0063] The contribution of path i may therefore be written:

r _(i)(k)={square root}{square root over (P _(s))}a _(i) e ^(jφi) d _(k) +b _(i)(k)

[0064] b_(i)(k) being the nuisance term containing both the thermal noise and the interference created by the other paths. A simple calculation shows that in the absence of inter-path interference, the power of the noise b_(i)(k) is equal to N₀/T_(s).

[0065] The problem is now posed as follows: given the N_(t) contributions r_(i)(k) (it is assumed here that the number of taps of the receiver is equal to the actual number of paths), we seek a set of complex weights (w₁, w₂, . . . , W_(Nt)) such that the signal-to-noise ratio of the recombined signal r(k) is a maximum: ${r(k)} = {\sum\limits_{i = 1}^{N_{t}}{w_{i}*{r_{i}(k)}}}$

[0066] where w_(i)* is the complex conjugate of w_(i).

[0067] The signal-to-noise ratio of r(k) is defined by (E(x) denotes the mean value of x): ${RSB} = {\left( {r(k)} \right) = \frac{{{\sum\limits_{i = 1}^{N_{t}}{w_{i}*\sqrt{P_{s}}a_{i}^{{j\phi}_{i}}d_{k}}}}^{2}}{E\left( {{\sum\limits_{i = 1}^{N_{t}}{w_{i}*{b_{1}(k)}}}}^{2} \right)}}$

[0068] If it is assumed that the noise terms associated with each path b_(i)(k) are uncorrelated and have the same average power P_(b), then the optimal weighting is given by (Schwartz's inequality):

w _(i) =ka _(i) e ^(jφi)

[0069] where k is an arbitrary constant.

[0070] Each path is therefore weighted in accordance with its own signal-to-noise ratio.

[0071] Finally, the optimal RAKE receiver therefore calculates, for the symbol k, the quantity (assuming that the estimation of the channel parameters is perfect): $\begin{matrix} {{{r(k)} = {{\sum\limits_{i = 1}^{N_{t}}{a_{i}{^{- {j\phi}_{i}}\left( {\frac{1}{T_{s}}{\int_{(T_{s})}{{s(t)}{c\left( {t - \tau_{i}} \right)}{t}}}} \right)}}} = {\sqrt{P_{s}}\left( {\sum\limits_{i = 1}^{N_{t}}a_{i}^{2}} \right){_{k}{+ {b(k)}}}}}}{with}{{b(k)} = {\sum\limits_{i = 1}^{N_{t}}{a_{i}^{- {j\phi}_{i}}{b_{i}(k)}}}}} & ({E3}) \end{matrix}$

[0072] and the symbol is decided by comparing the real part (theoretically, to within noise, r(k) is real) of r(k) with 0 (under BPSK).

[0073] The signal-to-noise ratio obtained equals: ${RSB}_{RAKE} = {\left( {\sum\limits_{i = 1}^{N_{t}}a_{i}^{2}} \right)\frac{P_{s}}{P_{b}}}$

[0074] This is the sum of the signal-to-noise ratios relating to each of the paths.

[0075] The RAKE processing is optimal in the absence of interference between symbols (in the strict sense, this implies that the propagation channel contains just one path or that the autocorrelation function of the code is ideal) and if the noise (thermal noise+inter-user interference) is white (this signifying that the codes of the various users are orthogonal for all possible time shifts).

[0076] The implementation of the RAKE receiver, described by equation (E3), assumes that the complex amplitudes a_(k) e^(jφk) and the delays τ_(k) of the paths are known. In practice, only an estimate of these parameters can be obtained, which in general is produced by transmitting a sequence of symbols which is known to the receiver (and designated by the term reference sequence or pilot sequence or else learning sequence).

[0077] The estimate of the channel can be updated at a frequency consistent with the rates of variation (Doppler spreading) of the various parameters a_(k), φ_(k) and τ_(k).

[0078] Finally, if the channel varies slowly in relation to the duration of a symbol (T_(s)), it is possible to effect this estimate by using several consecutive symbols, thereby making it possible to obtain more reliable estimates.

[0079] The exemplary implementation is described hereinbelow in an application of cellular networks operating on the principle of CDMA (Code Division Multiple Access), such as were mentioned previously.

[0080]FIG. 2 describes a waveform of the UMTS type used for the uplink, that is to say from a mobile station to a base station.

[0081] The structure of the frame of the wave is composed for example of several time slots Si, i being the index of the slot.

[0082] Each slot comprises the useful data corresponding to the DPDCH slot (the abbreviation standing for Dedicated Physical Data CHannel) to the number Ndata for example and the control data or DPCCH slot (the abbreviation standing for Dedicated Physical Control CHannel) which are sent in parallel via complex multiplexing on in-phase and quadrature pathways. The useful data are sent on the “in-phase” pathway (I pathway) (FIG. 3) and the control data are sent on the “quadrature” pathway (Q pathway) in this same FIG. 3.

[0083] The useful data and control data are modulated for example by BPSK (Binary Phase Shift Keying) and the signal obtained after multiplexing is therefore modulated by QPSK (Quadrature Phase Shift Keying).

[0084] Each frame, of duration 10 ms, consists for example of 16 time slots of duration 0.625 ms.

[0085] The control sequence shown diagrammatically in FIG. 2 is composed of Npilot bits known to the receiver and used in the channel estimation method according to the invention, of control bits serving for control of power Ntpc bits, and of bits indicating the bit rate used on the useful-data channel Nri bits.

[0086] The total number of control bits is for example fixed at 10. The numerical allocation and the arrangement of these three types of control will be fixed for example by the UMTS standard set out in reference [5] ETSI, “Universal Mobile Telecommunications System (UMTS); UMTS Terrestrial Radio Access (UTRA); Concept evaluation”, UMTS 30.06 version 3.0.0, TR 101 146 V3.0.0 (1997-12).

[0087] The control and useful data bits are for example spread by orthogonal Walsh codes [5], in such a way that the chip or pulse rate homes in on 4.096 MHz.

[0088] The spreading factor (or spreading gain) used for the useful bits is chosen for example as a function of their bit rate, the lower the useful bit rate at input, the lower this spreading factor.

[0089] Letting k denote the number of bits for the useful data channel (DPDCH) and control channel (DPCCH), it is related to the spreading factor SF by the relation SF=256/2 ^(k). The spreading factor may therefore take values lying between 256 and 4. The spreading factors relating to the data pathway and to the control pathway may be different insofar as the number of bits or of symbols conveyed per slot may be different.

[0090]FIG. 3 represents a diagram of the spreading, modulation and scrambling of a signal. After spreading by their respective codes, the signal is scrambled by a primary scrambling code linked with the mobile station (C′_(scramb)). The resulting signal can, optionally, be scrambled a second time by a secondary scrambling code (C″_(scramb)).

[0091] The primary scrambling code is a complex code generated from KASAMI (ref) sequences of length 256. The secondary scrambling code has a length of 40960 chips (duration of 10 ms) and constitutes a segment of a Gold (ref) code of length 2⁴¹-1.

[0092] The signal transmitted from each mobile station is shaped in the block 10, it is then sent to a transmission filter 11, and it is then received at the level of the base station. This base station or reception station comprises a reception filter 13 followed by a reception block 14 comprising for example a receiver 15 of RAKE type and means such as a microprocessor 16 programmed to implement the steps of the method according to the invention, so as to estimate the parameters of the propagation channel and demodulate the digital signals.

[0093] Description of the Steps Implemented in the Course of the Method

[0094] The principle of the invention is to demodulate the useful bits or symbols by using a demodulation algorithm made up of two parts, the first consists in estimating the channel and the second in demodulating the useful symbols or bits. The characteristics of the propagation channels such as the temporal spreading or the Doppler spreading may be arbitrary.

[0095] The second part is performed according to the RAKE algorithm known to the person skilled in the art, it being possible to find details in the aforesaid reference by Proakis.

[0096] According to the invention, the estimation of the channel is carried out by implementing an algorithm comprising at least the three steps described hereinbelow.

[0097] These steps are performed for example by processing of the digital signal received after filtering matched to reception by the Nyquist root-type pulse-shaping function for example and correction of any Doppler shift.

[0098] First Step:

[0099] Every time slot, every Δt₁ seconds, for example every 0.62 ms, the method:

[0100] estimates the complex amplitude of all the paths selected, by correlation with the reference sequence. The paths selected correspond to the paths retained during the third step or for the initialization of paths selected by comparing the energy of a path with a threshold value,

[0101] demodulates the useful bits by in-phase recombination of these paths.

[0102] Second Step:

[0103] Every K slots, every Δt₂ seconds, the method performs the updating of the energy of the paths whose delays belong to the search window with a given analysis interval. This step allied with the third step allows long-term monitoring of the paths present in the window.

[0104] Third Step:

[0105] Every K*L slots, every Δt₃ seconds, the method updates the selection of the predominant paths taken into account for the RAKE demodulation.

[0106] The periods of implementation Δt₁, Δt₂, Δt₃ of these steps expressed in seconds are chosen for example to satisfy the relation Δt₁>Δt₂>Δt₃.

[0107] In the subsequent description,

[0108] Certain steps of the algorithm, which are known to the person skilled in the art, are not detailed (Nyquist filtering on reception, management of the data stream, etc);

[0109] It is assumed that the correction of any Doppler shift is performed;

[0110] Vectors and matrices are denoted in bold;

[0111] X* is the conjugate complex of the scalar or of the vector X; x^(⊥)*y is the scalar product (euclidean or hermitian) of the vectors x and y; the vector x described between index_start and index_end with an interval resol is denoted:

[0112] x(index_start: index_end: resol)

[0113] On entry to the algorithm, the file of samples is composed of complex samples obtained after semi-Nyquist filtering (transmission) and oversampling of the UMTS signal.

[0114] On exit from the algorithm, the file obtained is composed of a file of demodulated and despread data bits (complex values). These bits are ready to be decided for example according to the principle stated hereinabove.

[0115] The list of the key parameters of the invention and of the variables used in the algorithmic description is given in the form of two tables 1 and 2 appended.

[0116] The method is executed according to steps 21 to 27 of the flowchart represented in FIG. 5. These steps are applied for each time slot, that is to say every Δt₁ seconds.

[0117] The method begins with a step 20 for initializing various values in particular:

[0118] the size of the search window expressed in seconds and in samples: Size_win_srch, Sprd_time_max; the subsampling factor for the delays Sub_sam delay; the forget factor λ used in the course of the second step, the threshold value Threshold_power for the selecting of the paths during the third step; the frequency of updating of the powers K and the updating factor for the delays L.

[0119] It also comprises the initialization of a table comprising the predominant paths determined for example by comparing the energy of a path with the threshold value and by retaining only the paths whose energy is greater than this threshold value.

[0120] The samples are filtered by means of a semi-Nyquist type filtering for example.

[0121] The method begins in step 21 with a calculation of the complex amplitude of the paths retained during the third step. The complex amplitudes are obtained for example by correlation between the pilot symbols received (which are spread) and the code relating to the control bits (product of the spreading code and of the primary scrambling code), the discarding of the contribution of the pilot bits and the averaging (by simple summation of the estimated amplitudes obtained with each of the symbols) over the N pilot symbols, thereby making it possible in particular to increase the signal/noise ratio.

[0122] The correlations performed take into account, at the level of the signal of the pilot symbols received, the delay times identified in the course of step 3.

[0123] The Estimation of the Complex Amplitude of the Paths Retained for Demodulation for Each Pilot Symbol is Carried out by Stringing Together the Following Steps Described in Conjunction with FIG. 6

[0124] Step 30

[0125] For j=1 to Nb_symbol_pilot

[0126] Positioning at the Start of Pilot Symbol Number j

[0127] Ind_start_demod=Ind_center_win+(j−1)* GE_control * Nb_sam_chip

[0128] Step 31—Calculation of the Correlation for All the Paths Retained

[0129] For k=1 to Nb_paths

[0130] Correlation_pilot(k,j)=Code_sprd_control^(⊥)* Signal(Ind_start_demod+Delays(k)*Sub_sam_delay: Ind_start_demod+Delays(k)*Sub_sam_delay+(GE_control−1)*Nb_sam_chip: Nb_sam_chip)*Seq_symbol_pilot(j)

[0131] End “For k=1 to Nb_paths”

[0132] End “For j=1 to Nb_symbol_pilot”

[0133] Step 32 Calculation of the Complex Amplitude of the Channel

[0134] For k=1 to Nb_paths ${{Channel\_ estimated}\quad (k)} = {\frac{1}{{Nb\_ symbols}{\_ pilot}}{\sum\limits_{j = 1}^{{Nb\_ symbol}{\_ pilot}}{{Correlation\_ pilot}\quad \left( {k,j} \right)}}}$

[0135] For “k=1 to Nb-paths”

[0136] Step 22 (FIG. 5) which follows is a step of demodulating the useful symbols comprising a step of despreading and of demodulation according to the RAKE principle, and the execution of the steps described hereinbelow and in FIG. 7:

[0137] For j=1 to Nb_symbol_data

[0138] Step 33—Positioning at the Start of Useful Symbol Numbers j

[0139] Ind_start_demod=Ind_center_window+(j−1)*GE_data*Nb_sam_chip

[0140] Step 34—Despreading

[0141] For k=1 to Nb_paths

[0142] Correlation_data(k,j)=Code_sprd_data^(⊥)*Signal(Ind_start_demod+Delays(k)*Sub_sam_delay: Ind_start_demod+Delays(k)*Sub_sam_delay+(GE_control−1)*Nb_sam_chip: Nb_sam_chip)

[0143] End “For k=1 to Nb_paths”

[0144] Step 35—Calculation of the Useful Symbols Demodulated by RAKE Recombination

[0145] Symbol_data_demod(j)=Channel_estimated(1: Nb_paths)^(⊥)* Correlation_data(1: Nb_paths, j)

[0146] End “For j=1 to Nb_symbol_data”

[0147] The second step of the method carried out every K slots, every Δt₂ seconds and corresponding to step 23 (FIG. 5) consists in updating the energy of each path situated in the search window and determining the complex amplitude of the path. These two steps are detailed in FIG. 8.

[0148] The method performs (step 37) the correlation between each pilot symbol received and the control code, for all possible delays lying within the search window and with a given resolution. The resolution varies for example between the duration of the sample and the duration of the chip.

[0149] The search window is for example centered on the current center of the impulse response of the channel, the center being determined for example in step 3, and its size being equal to twice the maximum temporal spreading taken into account by the algorithm.

[0150] Subsequently (step 38), the method averages the complex amplitudes estimated at the level of the pilot symbol, over the entire set of pilot symbols, so as to increase the quality of estimation, doing so for all possible paths.

[0151] Finally, the method (step 39) calculates the instantaneous power C(k) of these paths (square of the modulus of the complex amplitudes) which is used to obtain the average power C_(long) _(—) _(term)(k), with the aid of the following formula (first-order low-pass filtering):

C _(long) _(—) _(term)(k)=λC _(long) _(—) _(term)(k)+C(k)

[0152] where λ is a forget factor whose value, just like that of the parameter K, must be chosen as a function of the characteristics of the propagation channel.

[0153] This smoothing makes it possible to circumvent the fast fading, which locally may cause a drop in the instantaneous power of a strong path.

[0154] Updating of the Energy of Each Path Contained in the Search Window

[0155] This Update Begins with the Determination of a Table, Step 37 Containing, for All the Possible Delay Times Situated in the Search Window and for Each Pilot Symbol, the Correlations Between the Pilot Symbols Received and the Control Spreading Sequence

[0156] For j=1 to Nb_symbol_pilot

[0157] Positioning on Pilot Symbol Number j

[0158] Ind_start_demod=Ind_center window+(j−1)* GE_control*Nb_sam_chip

[0159] Correlation Between the Pilot Symbols Received and the Control Sequence

[0160] For k=1 to Size_win_srch

[0161] Correlation_pilot(k,j)=Code_sprd_control^(⊥)*Signal(Ind_start_demod+k*Sub_sam_delay: Ind_start_demod+k*Sub_sam_delay+(GE_control−1)*Nb_sam_chip: Nb_sam_chip)*Seq_symbol_pilot(j)

[0162] End “For k=1 to Size_win_srch”

[0163] End “For j=1 to Nb_symbol_pilot”

[0164] The following step 38 consists, for each path in the search window, in averaging the correlations over the Nb_symbols_pilot, in calculating the modulus of the correlation and in updating the average energy of the path.

[0165] For k=1 to Size_win_srch ${{Correl\_ pilot}{\_ avg}\quad (k)} = {\frac{1}{{Nb\_ symbols}{\_ pilot}}{\sum\limits_{j = 1}^{{Nb\_ symbol}{\_ pilot}}{{Correlation\_ pilot}\quad \left( {k,j} \right)}}}$

[0166] Powr_inst_path(k)=modulus(Correl_pilot_avg(k))

[0167] Powr_avg_path(k)=λ*Powr_avg_path(k)+Powr_inst_path(k)²

[0168] End “For k=1 to Size_win_srch”

[0169] The Next Step 39 Corresponds to the Calculation of the Complex Amplitude of the Channel

[0170] For p=1 to Nb_paths

[0171] Channel_estimated(p)=Correl_pilot_avg(Delays(p))

[0172] End “For p=1 to Nb paths”

[0173] Step 3 or the third step of the method is carried out every K*L slots, every Δt₃ seconds for example by executing detailed in FIG. 9 making up step 24 for updating the predominant paths which are used during the first step of the method for demodulating the signals received.

[0174] The execution of these steps begins for example in the following manner: a step 50 of calculating the maximum average power, followed by a step 51 of selecting all the paths for which the ratio of their average power to the average power exceeds a threshold, for example 0.5.

[0175] According to a variant implementation of the method, after selection of the paths (step 51), the method continues with a step 52 of choosing the best sampling comb, the paths retained ultimately are separated by an integer number of chips.

[0176] On the basis of the paths selected, the method determines for example subsequently with the aid of steps and procedures which are well known to the person skilled in the art the number of paths selected on the best comb and the vector of Delays of the indices of the paths retained, step 53.

[0177] Step 54 consists in calculating the complex amplitude of the paths selected.

[0178] The next step 55 comprises an updating of the center of the search window and the tables containing the values of the delays and of the average powers for the paths selected.

[0179] Updating of the Choice of Paths Retained for Demodulation

[0180] Step 50—Calculation of the Maximum Average Power (Among All the Possible Paths)

[0181] Powr_avg_max=MAX(Powr_avg_path)

[0182] Step 51—Selection of the Paths Whose Average Power Exceeds the Threshold

[0183] For k=1 to Size_win_srch

[0184] IF (Powr_avg path (k)>Powr_avg_max*Threshold_power)

[0185] Then Selec_Paths(k)=Powr_avg_path(k)

[0186] Otherwise Selec_paths(k)=0

[0187] END IF

[0188] End “For k=1 to Size_win_srch”

[0189] Step 52—Determination of the Best Sampling Comb

[0190] Initially Calculation of the Average Power Aggregated over All the Paths Exceeding the Threshold and Situated on the Same Sampling Comb (the Paths of a Given Comb are Separated by an Integer Number of Chips)

[0191] Nb_delay_chip=Nb_sam_chip/Sub_sam_delay

[0192] For k=1 to Nb_delay_chip−1 ${{Powr\_ tot}{\_ comb}\quad (k)} = {\sum\limits_{p = 0}^{{Size\_ win}{\_ srch}}{{Selec\_ paths}\quad \left( {k + {p*{Nb\_ delay}{\_ chip}}} \right)}}$

[0193] paths(k+p*Nb_delay_chip)

[0194] End “For k=1 to Nb_delay_chip−1”

[0195] Then subsequently choosing the best sampling comb by determining the maximum aggregate total power:

[0196] Ind_best_comb =ARG(MAX(Powr_tot_comb))

[0197] Step 53—On the Basis of the Paths Selected, the Method Calculates with the Aid of Steps Known to the Person Skilled in the Art

[0198] the number Nb_paths of paths selected on the best comb, which it can compare with a specified number for example Nb_paths_max, and

[0199] the vector Delays (1: Nb_paths) of the indices of the paths retained on the best comb.

[0200] The method then calculates during step 54 and for the paths selected in step 52

[0201] The Complex Amplitude or the Estimate of the Current Channel

[0202] For p=1 to Nb_paths

[0203] Channel_estimated(p)=Correl_pilot_avg(Delays(p))

[0204] End “For p=1 to Nb_paths”

[0205] Step 55 Comprises the Updating of the center of the Impulse Response of the Current Channel in Such a Way as to Update the Position of the Center of the Search Window by a Calculation of the Average Delay:

[0206] Delay_average=0.5* (Delays(1)+Delays(Nb_paths))

[0207] And the Updating of the Delays and Powr_avg_path Tables as Well as the Updating of the Index of the Center of the Search Window Ind_center_window

[0208] Delays(1: Nb_paths) Delays(1: Nb_paths)−Delay_average

[0209] Ind_center_window=Ind_center_window+Delay_average* Sub_sam_delay

[0210] In the case where the number Num_slot is not a multiple of K*L, the method processes the time slot with the aid of procedure known to the person skilled in the art so as to determine the amplitude and the phase of each of the paths in the course of step 26 FIG. 5 before performing steps 21 and 22.

[0211] The parameters K, L, Δt₁, Δt₂, Δt₃ as well as the other internal parameters, especially the size of the search window, the search interval for the delays considered in the second step, the maximum number of paths taken into account for the RAKE recombination, and the threshold for selecting the paths, must be chosen as a function of the characteristics of the propagation channel and the performance/numerical complexity compromise to be complied with.

[0212] Without departing from the scope of the invention, the learning or reference sequence is transmitted sequentially or in parallel with that of the useful data.

[0213] Likewise without departing from the method of the invention, the channel is for example estimated several times per time slot, the step of estimating the complex amplitude being carried out by using a lower number of learning symbols than the total number of learning symbols available on a time slot. This mode of implementation of the method is especially beneficial in respect of very rapidly fluctuating channels.

[0214] It is also possible to carry out the interpolation in such a way that at any moment an estimation of a channel is available (linear filtering on the basis of several estimated values of the channel).

[0215] The method comprises for example a step of deciding the demodulated bits, these decided bits possibly being used to improve the estimation of the channel. The learning symbols may be consecutive or be separated in time. For example, other control symbols may be inserted between the learning symbols.

[0216] Exemplary control sequence: Exemplary control sequence: --------     ---- ====== ------------- ---: learning symbols   : another type of control symbol (type 1) ===: another type of control symbol (type 2)

[0217] The estimation of the channel is achieved for example by simple correlation of the pilot symbols received with the spread learning sequence, thereby implicitly assuming that the spread learning sequence is white, its autocorrelation function being a Dirac.

[0218] It is also possible to take account of the non ideal character of the learning sequence by correlating the pilot symbols received with a whitened version of the learning sequence.

[0219] According to another variant implementation of the method, the paths retained during the third step are not separated by an integer number of chip durations.

APPENDIX List of the Key Parameters of the Invention and of the Variables Used in the Algorithmic Description

[0220] TABLE 1 Key parameters of the algorithm NAME Data type Description Typical value Nb_symbol INTEGER Number of pilot 8 pilot symbols Nb_symbol INTEGER Number of useful Function of data symbols the bit rate GE_control INTEGER Control pathway 256 spreading gain GE_data INTEGER Data pathway Function of spreading gain the bit rate Nb_sam_chip INTEGER Number of samples 2 or 4 per chip Sprd_time_m REAL Size of the search 20 10⁻⁶ (1) ax window (seconds) Sub_sam_(—) INTEGER Delay subsampling 1/2/4 (2) delay factor Size_win_sr INTEGER Size of the window 656 (3) ch (samples) λ REAL Forget factor 0.95 (updating of the powers of the paths) Threshold_p REAL Threshold for 0.5 (4) ower selecting the paths K INTEGER Frequency of 5 (function updating of the of the powers channel) (6) L INTEGER Frequency of 5 (function updating of the of the delays channel) (6)

[0221] (1): Maximum value of the temporal spreading of the mobile radio channel in urban surroundings.

[0222] (2): The temporal resolution during the search for the paths is equal to T_(c)/(Nb_sam_chip/Sub_sam_delay) where Tc is the chip duration. The possible values of the temporal resolution for the path search are T_(c/)2, T_(c)/4 and T_(c).

[0223] (3): This value represents the number of delay times considered in the search window. It is equal to:

[0224] Size,_win_srch=2*(1/T_(c))*Sprd_time_max*(Nb_sam_chip/Sub_sam_delay)

[0225] (656=2*4.096 10⁶*20 10⁻⁶* 4/1)

[0226] (4): This value signifies that any propagation path whose average power is greater than half the maximum average power is selected.

[0227] (5): This value is expressed in terms of number of time slots (see paragraph 2.2.1).

[0228] (6): This value is expressed in a unit equal to K times the duration of the time slot (thus, the delay times are updated every K*L slots). TABLE 2 Variables used in the algorithmic description NAME Data type Dimension Description Num slot INTEGER 1 Slot number Correlation COMPLEX Size_win_srch* Control code/pilot pilot Nb symbol pilot symbols correlation Ind_center INTEGER 1 Index of the center window of the search window Ind_start_(—) INTEGER 1 Index of start of demod demodulation Code_sprd_(—) INTEGER GE_control Control spreading control code Code_sprd_(—) INTEGER GE_data Data spreading code data Seq_symbol INTEGER Nb_symbol_pilot Sequence of pilot _pilot symbols Signal COMPLEX — Complex signal received Correl_pilot COMPLEX Size_win_srch Average of the pilot _avg correlations Nb_paths INTEGER 1 Number of paths selected Delays INTEGER Variable Delays of the paths selected Channel_(—) COMPLEX Variable Current estimated estimated channel Powr_inst_(—) REAL Size_win_srch Instantaneous power path of the paths Powr_avg_p REAL Size_win_srch Average power of ath the paths Powr_avg_m REAL 1 Maximum average ax power Selec_paths REAL Size_win_srch Path selection indicator Nb_delay_c INTEGER 1 Number of paths hip investigated per chip Powr_tot_c REAL Nb_delay_chip Total power per omb comb Ind_best_c INTEGER 1 Index of the best omb comb Delay- INTEGER 1 Current average average delay Correlation COMPLEX Nb_paths* Data code/data bits _data Nb_bits_data correlation symbols_data REAL Nb_symbol_data demodulated useful _demod symbols 

1. A method of estimating a propagation channel, between a source transmitting data and a receiver, using at least one learning sequence which comprises symbols referred to as “pilot symbols” and which is known to the receiver, so as to decode a data signal (digital signal), the signals being sent in successive frames, each frame being partitioned into a specified number of time slots, wherein it comprises at least the following steps: a) choosing a search window, estimating the complex amplitude and the energy of each predominant path k situated in the search window over the duration of each of the time slots and demodulating the data bits (useful bits), b) updating the energy of each possible path of the search window every K slots, c) selecting every K*L slots, the energy paths k which are predominant.
 2. The method as claimed in claim 1, wherein the signal is a signal spread according to a given spreading code and in that it comprises at least: for step b) the determination of the average power or energy (Powr_avg_path (k)) for each path k of the search window by correlation between the pilot symbols received and the control spreading sequence, the average (Correl_pilot_avg (k)) of said correlations over the set of symbols of the learning sequence, the calculation of the modulus of the correlation and the updating of the average energy of the path (Powr_avg_path (k)) by a calculation of the type instantaneous average power equal to the sum of the instantaneous power of said paths and of a term corresponding to the product of the forget factor and of the average power, the determination of the complex amplitude (Channel_estimated_(p)) of said channel p by correlation between the pilot symbols and the spreading sequence; for step c) the selection of propagation paths k by comparing the average energy of a path (Powr_avg_path(k)) with a fixed threshold value (Powr_avg_max), such as the maximum power of all the paths, the determination of the complex amplitude of the propagation channel p (Channel_estimated(p)).
 3. The method as claimed in either of claims 1 and 2, wherein it comprises after the step of selecting the paths, a step of determining the best sampling comb (Ind_best_comb) by the argument of the maximum aggregate total power over all the paths exceeding the threshold value for all the paths separated by an integer number of chips and by determining the aggregate maximum power.
 4. The method as claimed in one of the preceding claim wherein it comprises in step c) a step of comparing the number of paths (Nb-paths) selected with a maximum value and/or the updating of the average power of the paths (Powr_avg path) and of the index of the center of the search window (Ind_center_window) and the vector of the delays of the indices of the paths.
 5. The method as claimed in one of claims 1 to 4, wherein K is a multiple of the duration of the time slot, and/or K*L is determined from the rate of variation of the paths over time.
 6. The method as claimed in one of the preceding claims, wherein it comprises a step of determining decided bits which is performed after the demodulation of the data bits or useful bits.
 7. The method as claimed in one of the preceding claims, wherein the learning sequence is transmitted sequentially or in parallel with that of the useful data.
 8. A device for estimating the parameters of a channel for propagating digital signals between a means of transmission and a means of reception so as to demodulate a data signal (digital signal), the signals being sent in successive frames, each frame being partitioned into a specified number of time slots wherein it comprises a calculator or device suitable for implementing the method according to one of claims 1 to
 7. 9. The device as claimed in claim 8, wherein said means of transmission comprises a means allowing the spreading of the digital signal and said means of reception comprises a RAKE-type receiver.
 10. The application of the method according to one of claims 1 to 7 or of the device according to either of claims 8 and 9 for demodulating a spread band digital signal.
 11. The application of the method according to one of claims 1 to 7 or of the device according to either of claims 8 and 9 for demodulating a signal of CDMA type, or of UMTS type. 